home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / modelers / geomview / source.lha / Geomview / tools / install.bsd < prev    next >
Text File  |  1993-11-04  |  2KB  |  76 lines

  1. #! /bin/sh
  2. #
  3. # SGI install emulator for Suns
  4. # Note, uses cp -p option.
  5. #
  6.  
  7. mode=755
  8. owner=:
  9. group=:
  10. new=-p
  11. verb=:
  12. dir=
  13. src=
  14.  
  15. Toss() { rm -f "$1"; }
  16.  
  17. Usage=\
  18. "Usage:  $0  [-m mode] [-u owner] [-g group] [-new] [-o] [-O] [-v]
  19.         [-F dir] file ...
  20. Emulates SGI install -- installs file(s) in given directories."
  21.  
  22. if [ "$#" = 0 ]; then
  23.     echo "$Usage" >&2
  24.     exit 1
  25. fi
  26. while
  27.    case "$1" in
  28.         -m) mode=$2; shift 2 ;;
  29.         -u) owner="chmod $2"; shift 2 ;;
  30.         -g) group="chgrp $2"; shift 2 ;;
  31.         -new) new= ; shift ;;
  32.         -o) Toss() { mv "$1" "$2"; }; shift ;;
  33.         -O) Toss() { rm -f "$1" || mv -f "$1" "$2"; } ; shift ;;
  34.         -v) verb=echo ; shift ;;
  35.         -root) ROOT="$2"; shift ;;
  36.      -f) dir="$2"; shift 2 ;;
  37.         -F) dir="$2"; mkem=1; shift 2 ;;
  38.         -*) echo "$Usage" >&2; exit 1 ;;
  39.        *) test ;;
  40.    esac
  41. do
  42.    :
  43. done
  44.  
  45. echo "Installing $@"
  46.  
  47. if [ "$dir" = "" ]; then
  48.     echo "install: needs -f or -F option to specify destination dir" >&2
  49.     exit 1
  50. fi
  51.  
  52. if [ "$mkem" != "" -a ! -d "$dir" ]; then
  53.     # Make all necessary directories.
  54.     Ds="$dir"
  55.     D="$dir"
  56.     while
  57.     D=`expr "$D//" : "\(.*\)/[^/]*//"`
  58.     test ! -d "$D"
  59.     do
  60.     Ds="$D $Ds"
  61.     done
  62.     mkdir $Ds
  63. fi
  64.  
  65. if [ "$ROOT" != "" ]; then dir="$ROOT/$dir"; fi
  66.  
  67. for f in $@; do
  68.     g=`expr "//$f" : ".*/\([^/]*\)"`
  69.     test -f "$dir/$g" && Toss "$dir/$g" "$dir/OLD$g"
  70.     cp ${new} "$f" "$dir/$g"
  71.     chmod ${mode} "$dir/$g"
  72.     ${owner} "$dir/$g"
  73.     ${group} "$dir/$g"
  74.     $verb "$f installed as $dir/$g"
  75. done
  76.